Systems, Methods, And A Storage Medium For Storing and Securely Transmitting Digital Media Data

ABSTRACT

Systems, methods, and a storage medium for storing and securely transmitting digital media data in a networked system are provided. The method includes determining an amount of memory for storing the digital media data. The method further includes querying a plurality of network computers to determine an amount of available memory in a plurality of memory storage devices associated with the plurality of network computers. The method further includes receiving the digital media data and partitioning the digital media data into a plurality of digital media data sets. The method further includes encrypting the plurality of digital media data sets into a plurality of encrypted digital media data sets using at least one encryption key value. The method further includes storing the plurality of encrypted digital media data sets in at least two of the plurality of memory storage devices associated with the plurality of network computers. The method further includes retrieving the plurality of encrypted digital media data sets and transmitting the plurality of encrypted digital media data sets to a decryption device. Finally, the method includes decrypting the plurality of encrypted digital media data sets at the decryption device using at least one encryption key value to obtain the digital media data.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/812,432 filed Mar. 30, 2004, the contents of which are incorporatedherein by reference in their entirety.

FIELD OF INVENTION

The present invention relates to systems, methods, and a storage mediumfor storing and securely transmitting digital media data.

BACKGROUND

Service providers have allowed registered users to store digital mediadata on digital video recorders (DVRs) for later viewing. In particular,when a user selects to record the digital media data, the DVR stores thedigital media data in an internal memory. Thereafter, when the userselects to view the digital media data, the DVR displays the data on atelevision. A disadvantage of the DVR, however, is that the DVR memorymay not be able to store a plurality of digital media data sets that auser has selected due to its limited memory capacity.

Thus, there is a need for a system that allows for the distributedstorage of digital media data selected by a user that has increasedmemory capacity as compared to other systems.

SUMMARY OF THE INVENTION

A method for storing and securely transmitting digital media data in anetworked system is provided. The method includes determining an amountof memory for storing the digital media data. The method furtherincludes querying a plurality of network computers to determine anamount of available memory in a plurality of memory storage devicesassociated with the plurality of network computers. The method furtherincludes receiving the digital media data and partitioning the digitalmedia data into a plurality of digital media data sets. The methodfurther includes encrypting the plurality of digital media data setsinto a plurality of encrypted digital media data sets using at least oneencryption key value. The method further includes storing the pluralityof encrypted digital media data sets in at least two of the plurality ofmemory storage devices associated with the plurality of networkcomputers. The method further includes retrieving the plurality ofencrypted digital media data sets and transmitting the plurality ofencrypted digital media data sets to a decryption device. Finally, themethod includes decrypting the plurality of encrypted digital media datasets in the decryption device using the at least one encryption keyvalue to obtain the digital media data.

A system for storing and securely transmitting digital media data isprovided. The system includes a first computer configured to determinean amount of memory for storing the digital media data. The systemfurther includes a first plurality of network computers configured tocommunicate with the first computer. The first computer is configured toquery the first plurality of network computers to determine an amount ofavailable memory in a first plurality of memory storage devicesassociated with the first plurality of network computers. The firstcomputer is further configured to receive the digital media data and topartition the digital media data into a plurality of digital media datasets. The first computer is further configured to encrypt the pluralityof digital media data sets into a plurality of encrypted digital mediadata sets using at least one encryption key value and to store theplurality of encrypted digital media data sets in at least two of thefirst plurality of memory storage devices associated with the firstplurality of network computers. The first computer is further configuredto retrieve the plurality of encrypted digital media data sets and totransmit the encrypted digital media data sets to a decryption device.Finally, the system includes a decryption device configured to receivethe plurality of encrypted digital media data sets and to decrypt theplurality of encrypted digital media data sets using the at least oneencryption key value.

An article of manufacture including a computer storage medium having acomputer program encoded therein for storing and securely transmittingdigital media data in a networked system is provided. The computerstorage medium includes code for determining an amount of memory forstoring the digital media data. The computer storage medium furtherincludes code for querying a plurality of network computers to determinean amount of available memory in a plurality of memory storage devicesassociated with the plurality of network computers. The computer storagemedium further includes code for receiving the digital media data andpartitioning the digital media data into a plurality of digital mediadata sets. The computer storage medium further includes code forencrypting the plurality of digital media data sets into a plurality ofencrypted digital media data sets using at least one encryption keyvalue. The computer storage medium further includes code for storing theplurality of encrypted digital media data sets in at least two of theplurality of memory storage devices associated with the plurality ofnetwork computers. The computer storage medium further includes code forretrieving the plurality of encrypted digital media data sets andtransmitting the plurality of encrypted digital media data sets to adecryption device. Finally, the computer storage medium includes codefor decrypting the plurality of encrypted digital media data sets at thedecryption device using at least one encryption key value to obtain thedigital media data.

Other systems, methods, and computer program products according toembodiments will become or are apparent to one with skill in the artupon review of the following drawings and detailed description. It isintended that all such additional systems, methods, and/or computerprogram products be included within this description, be within thescope of the present invention, and be protected by the accompanyingclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic of a system for storing and securely transmittingdigital media data;

FIGS. 2, 3, and 4 are flowcharts of a method for storing and securelytransmitting digital media data using the system of FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

Referring to the drawings, identical reference numerals representidentical components in the various views. Referring to FIG. 1, a system10 for storing and transmitting digital media data is provided. Forpurposes of discussion, digital media data is defined as digitallygenerated video data, audio data, or image data. The system 10 includesa content selection computer 12, a television 14, a first networkcomputer 16, a memory storage device 18, a second network computer 20, amemory storage device 22, a data distribution computer 24, a thirdnetwork computer 26, a memory storage device 28, a fourth networkcomputer 30, a memory storage device 32, and a content service providercomputer 34.

Before describing the components of system 10 in detail, a briefoverview of the functionality of system 10 will be provided. The system10 allows a user of the content selection computer 12 to select digitalmedia data, for either immediately viewing the digital media data or forviewing the digital media data at a later time. For example, a usercould select a predetermined movie for viewing at a later time.Thereafter, the content selection computer 12 can send a data message tothe data distribution computer 24 identifying the digital media data.Thereafter, the data distribution computer 24 can send a data message tothe content service provider computer 34 requesting the digital mediadata. Thereafter, the content service provider computer 34 can transmitthe requested digital media data to the data distribution computer 24.The data distribution computer 24 can partition a stream of digitalmedia data, and encrypt and store portions of the digital media datautilizing the third and fourth network computers 26, 30 as will beexplained in greater detail below. Further, the data distributioncomputer 24 can transmit other portions of the encrypted digital mediadata to the content selection computer 12. The content selectioncomputer 12 can store portions of the encrypted digital media datautilizing the first network computer 16 and a second network computer 20as will be explained in greater detail below.

Thereafter, when a user of the content selection computer 12 selects toview the digital media data, the content selection computer 12 can querythe data distribution computer 24 for the portions of encrypted digitalmedia data stored by the third and fourth network computers 26, 30.Further, the content selection computer 12 can query the first andsecond network computers 16, 20 for the other portions of encrypteddigital media data stored by the computers 16, 20. Thereafter, thecontent selection computer 12 can decrypt the portions of the encrypteddigital media data to obtain the originally stored digital media data,and transmit the digital media data to the television 14 for viewing bya user.

Referring to FIG. 1 the components of system 10 will now be described.The content service provider computer 34 is provided to store aplurality of digital media data elements. The content service providercomputer 34 operably communicates with the data distribution computer24.

The data distribution computer 24 is provided to manage the retrieval ofdigital media data from the content service provider computer 34. Thedata distribution computer 24 is further provided to encrypt and storethe digital media data in system 10 as will be described in greater databelow. As shown, the data distribution computer 24 operably communicateswith the content service provider computer 34, the content selectioncomputer 12, and the third and fourth network computers 26, 30.

The third and fourth network computers 26, 30 are provided to determinethe amount of available memory in storage devices 28, 32, respectivelyfor storing digital media data sets. A digital media data set is apredetermined portion of the digital media data. Further, computers 26,30 are provided to store digital media data sets in storage devices 28,32, respectively, and to retrieve the digital media data sets fromdevices 28, 32, respectively. Each of the storage devices 28, 32includes either non-volatile or volatile memory. Further, thenon-volatile or volatile memory can be implemented using any of a numberof known memory devices such as PROMs, EPROMs, EEPROMS, flash memory orany other electric, magnetic, optical or combination memory devicecapable of storing data. The third network computer 26 operablycommunicates with the data distribution computer 24 and the memorystorage device 28. The fourth network computer 30 operably communicateswith the data distribution computer 24 and the memory storage device 32.In the illustrated embodiment, data distribution computer 24 operablycommunicates with the third and fourth network computers 26, 30 viacommunication lines 25, 27, respectively. It should be noted, however,that in an alternate embodiment, computer 24 could communicate withcomputers 26, 30 using radio-frequency (“RF”) transceivers. Further, inanother alternate embodiment, any number of additional network computerscould operably communicate with the data distribution computer 24 toallow for increased memory storage capacity and secured distribution ofdigital media data. Still further, in another alternate embodiment,additional memory storage devices could communicate with each of thecomputers 26, 30 for increased memory storage capacity.

The content selection computer 12 is provided to accept a user requestvia the keypad 17 for storing digital media data for relatively quickretrieval for later viewing. The keypad 17 can be integrated withincontent selection computer 12 or can communicate with content selectioncomputer 12 via an RF communication link. The content selection computer12 operably communicates with the television 14, the data distributioncomputer 24, and the first and second network computers 16, 20.

The first and second network computers 16, 20 are provided to determinean amount of available memory in storage devices 18, 22, respectively,for storing digital media data. Further, computers 16, 20 are providedto store the digital media data sets in storage devices 18, 22,respectively, and to retrieve the digital media data sets from devices18, 22, respectively. Each of storage devices 18, 22 includes eithernon-volatile or volatile memory. Further, the non-volatile or thevolatile memory can be implemented using any of a number of known memorydevices such as PROMs, EPROMs, EEPROMS, flash memory or any otherelectric, magnetic, optical or combination memory device capable ofstoring data. The first network computer 16 operably communicates withthe content selection computer 12 and the memory storage device 18. Thesecond network computer 20 operably communicates with the contentselection computer 12 and the memory storage device 22. In theillustrated embodiment, the content selection computer 12 operablycommunicates with the first and second network computers 16, 20 viacommunication lines 13, 15, respectively. It should be noted, however,that in an alternate embodiment, content selection computer 12 couldcommunicate with computers 16, 20 using RF transceivers. Further, inanother alternate embodiment, any number of additional network computerscould operably communicate with the content selection computer 12 toallow for increased memory storage capacity. Still further, in anotheralternate embodiment, additional memory storage devices couldcommunicate with each of the computers 16, 20 for increased memorystorage capacity.

Referring to FIGS. 2, 3, and 4, a method for storing and transmittingdigital media data will now be explained. The following method utilizesa symmetric encryption or a single encryption key value for encryptingand decrypting digital media data sets. In an alternate embodiment,however, asymmetric encryption using a private key and a public keycould be used for encryption and decryption of the digital media datasets stored in system 10. Still further, in another alternateembodiment, a distinct symmetric encryption value or a distinctasymmetric encryption pair of values could be utilized for encryptingand decrypting each digital media data set that is stored in system 10.

At step 50, a user accesses an input keypad 17 associated with thecontent selection computer 12 and selects to receive and store digitalmedia data, for either immediately accessing the digital media data oraccessing the digital media data at a later time.

At step 52, the content selection computer 12 determines first andsecond amounts of available memory in storage devices 18, 22communicating with first and second network computers 16, 20,respectively. In particular, the content selection computer 12 queriesthe computers 16, 20 to determine an amount of available memory.Thereafter, the computers 16, 20 query the memory storage devices 18, 22to determine the amount of available memory in the devices 18, 22.Thereafter, the computers 16, 20 return first and second values to thecontent selection computer 12 indicating the first and second amounts ofavailable memory, respectively.

At step 54, the content selection computer 12 sends a first data messageto the data distribution computer 24 including: (i) a request for thedigital media data, (ii) and first and second memory values indicativeof the first and second amounts of available memory, and (iii) a firstencryption key value.

At step 56, the data distribution computer 24 determines third andfourth amounts of available memory in storages devices 28, 32,respectively, communicating with third and fourth network computers, 26,30, respectively. In particular, the data distribution computer 24queries the computers 26, 30 to determine an amount of available memory.Thereafter, the computers 26, 30 query the memory storage devices 28, 32to determine the amount of available memory in the devices 28, 32.Thereafter, the computers 26, 30 return third and fourth values,respectively, to the data distribution computer 24 indicating the thirdand fourth amounts of available memory.

At step 58, the data distribution computer 24 sends a second datamessage to the content service provider computer 34 requesting thedigital media data.

At step 60, the content service provider computer 34 sends a digitalmedia data stream to the data distribution computer 24 including: (i) adigital media data memory allocation value indicative of the amount ofmemory required for storing the requested digital media data, and (ii)the digital media data.

At step 62, the data distribution computer 24 partitions the digitalmedia data into first, second, third, and fourth digital media data setsbased on the first, second, third, and fourth amounts of availablememory, respectively.

At step 64, the data distribution computer 24 encrypts the third digitalmedia data set using a first encryption key and an encryption algorithmand sends the encrypted third digital media data set to the thirdnetwork computer 26 which stores the encrypted third digital media dataset in the memory storage device 28.

At step 66, the data distribution computer 24 encrypts the fourthdigital media data set using a first encryption key and an encryptionalgorithm and sends the encrypted fourth digital media data set to thefourth network computer 30 which stores the encrypted fourth digitalmedia data set in the memory storage device 32.

At step 68, the data distribution computer 24 encrypts the first andsecond digital media data sets using at least the first encryption keyand an encryption algorithm and sends the encrypted first and seconddigital media data sets to the content selection computer.

At step 70, the content selection computer 12 sends the encrypted firstdigital media data set to the first network computer 16 that stores theencrypted first digital media data set in the memory storage device 18.

At step 72, the content selection computer 12 sends the encrypted seconddigital media data set to the second network computer 20 that stores theencrypted second digital media data set in the memory storage device 22.

At step 74, when a user selects to receive or view the predetermineddigital media data, the content selection computer 12 sends (i) a firstdigital media data request message requesting the encrypted third andfourth digital media data sets to the data distribution computer 24,(ii) a second digital media data request message to the first networkcomputer 16 requesting the encrypted first digital media data set, (iii)a third digital media data request message to the second networkcomputer 20 requesting the encrypted second digital media data set.

At step 76, in response to the first digital media data request message,the data distribution computer 24 queries the third and fourth networkcomputers 26, 30 for the encrypted third and fourth digital media datasets, respectively.

At step 78, the third and fourth network computers 26, 30 retrieve theencrypted third and fourth encrypted digital media data sets,respectively, from memory storage devices 28, 32, respectively, and sendthe encrypted third and fourth digital media data sets to the datadistribution computer 24.

At step 80, the data distribution computer 24 sends the encrypted thirdand fourth digital media data sets to the content selection computer 12.

At step 82, in response to the second digital media data requestmessage, the first network computer 16 retrieves the encrypted firstdigital media data set from memory storage device 18 and sends theencrypted first digital media data set to the content selection computer12.

At step 84, in response to the third digital media data request message,the second network computer 20 retrieves the encrypted second digitalmedia data set from memory storage device 22 and sends the encryptedsecond digital media data set to the content selection computer 12.

At step 86, the content selection computer 12 receives the encryptedfirst digital media data set, the encrypted second digital media dataset, the encrypted third digital media data set, the encrypted fourthdigital media data set, and decrypts the four encrypted data sets usinga first encryption key and a decryption algorithm to obtain the firstdigital media data set, the second digital media data set, the thirddigital media data set, and the fourth digital media data set.

At step 88, the content selection computer 12 combines the first,second, third, and fourth digital media data sets to obtain the digitalmedia data and sends the digital media data to the television whichdisplays the digital media data.

The present systems, methods, and storage medium for storing andsecurely transmitting digital media data represents a substantialadvantage over other systems and methods. In particular, the system 10provides the technical effect of distributing the storage of digitalmedia data among the plurality of memory storage devices. Thus, thesystem 10 provides for a substantially increased memory capacity forstoring numerous digital media data elements that are selected by auser, as compared to conventional digital video recorders.

As described above, the present invention can be embodied in the form ofcomputer-implemented processes and apparatuses for practicing thoseprocesses. The present invention can also be embodied in the form ofcomputer program code containing instructions embodied in tangiblemedia, such as floppy diskettes, CD ROMs, hard drives, or any othercomputer-readable storage medium, wherein, when the computer programcode is loaded into and executed by a computer, the computer becomes anapparatus for practicing the invention. The present invention can alsobe embodied in the form of computer program code, for example, whetherstored in a storage medium, loaded into and/or executed by a computer,or transmitted over some transmission medium, loaded into and/orexecuted by a computer, or transmitted over some transmission medium,such as over electrical wiring or cabling, through fiber optics, or viaelectromagnetic radiation, wherein, when the computer program code isloaded into an executed by a computer, the computer becomes an apparatusfor practicing the invention. When implemented on a general-purposemicroprocessor, the computer program code segments configure themicroprocessor to create specific logic circuits.

While the invention has been described with reference to exemplaryembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings of the invention without departing from theessential scope thereof. Therefore, it is intended that the inventionnot be limited to the particular embodiments disclosed for carrying outthis invention, but that the invention will include all embodimentsfalling within the scope of the appended claims. Moreover, the use ofthe terms first, second, etc. do not denote any order or importance, butrather the terms first, second, etc. are used to distinguish one elementfrom another. Furthermore, the use of the terms a, an, etc. do notdenote a limitation of quantity, but rather denote the presence of atleast one of the referenced item.

1. A method for storing and securely transmitting digital media data ina networked system, comprising: determining an amount of memory forstoring the digital media data; querying a plurality of networkcomputers to determine an amount of available memory in a plurality ofmemory storage devices associated with the plurality of networkcomputers; receiving the digital media data and partitioning the digitalmedia data into a plurality of digital media data sets; encrypting theplurality of digital media data sets into a plurality of encrypteddigital media data sets using at least one encryption key value; storingthe plurality of encrypted digital media data sets in at least two ofthe plurality of memory storage devices associated with the plurality ofnetwork computers; retrieving the plurality of encrypted digital mediadata sets and transmitting the plurality of encrypted digital media datasets to a decryption device; and, decrypting the plurality of encrypteddigital media data sets in the decryption device using at least oneencryption key value to obtain the digital media data.
 2. The method ofclaim 1 wherein determining an amount of memory for storing the digitalmedia data includes querying a computer of a content provider for amemory storage value associated with the digital media data.
 3. Themethod of claim 1 wherein encrypting the digital media data includes:receiving at least one encryption key value from the decryption device;and, encrypting the digital media data using the encryption key valueand an encryption algorithm.
 4. The method of claim 1 wherein storingthe plurality of encrypted digital media data sets includes: sending afirst encrypted digital media data set to a first network computer;storing the first encrypted digital media data set in a memory storagedevice associated with the first network computer; sending a secondencrypted digital media data set to a second network computer; and,storing the second encrypted digital media data set in a memory storagedevice associated with the second network computer.
 5. The method ofclaim 1 wherein retrieving the plurality of encrypted digital media datasets and transmitting the plurality of encrypted digital media data setsto the decryption device includes: determining when a user has selectedto receive the digital media data; sending a first digital media datarequest message to a first network computer to retrieve a firstencrypted digital media data set from the first network computer;sending a second digital media data request message to a second networkcomputer to retrieve a second encrypted digital media data set from thesecond network computer; and, transmitting the first and secondencrypted digital media data sets to the decryption device.
 6. Themethod of claim 1 wherein decrypting the plurality of digital media datasets includes: receiving the plurality of encrypted digital media datasets; and, decrypting the plurality of digital media data sets using atleast one encryption key value and a decryption algorithm.
 7. The methodof claim 1 further comprising displaying the digital media data on atelevision.
 8. A system for storing and securely transmitting digitalmedia data, comprising: a first computer configured to determine anamount of memory for storing the digital media data; a first pluralityof network computers configured to communicate with the first computer,the first computer configured to query the first plurality of networkcomputers to determine an amount of available memory in a firstplurality of memory storage devices associated with the first pluralityof network computers; the first computer further configured to receivethe digital media data and to partition the digital media data into aplurality of digital media data sets, the first computer furtherconfigured to encrypt the plurality of digital media data sets into aplurality of encrypted digital media data sets using at least oneencryption key value and to store the plurality of encrypted digitalmedia data sets in at least two of the first plurality of memory storagedevices associated with the first plurality of network computers, thefirst computer further configured to retrieve the plurality of encrypteddigital media data sets and to transmit the encrypted digital media datasets to a decryption device; and, the decryption device configured toreceive the plurality of encrypted digital media data sets and todecrypt the plurality of encrypted digital media data sets using the atleast one encryption key value.
 9. The system of claim 8 wherein thedecryption device is further configured to receive at least a portion ofthe plurality of encrypted digital media data sets and to store theportion of the plurality of encrypted digital media data sets in atleast two of a second plurality of memory storage devices associatedwith a second plurality of network computers, the second plurality ofnetwork computers communicating with the decryption device.
 10. Thesystem of claim 9 wherein the decryption device is further configured toretrieve the portion of the plurality of encrypted digital media datasets stored in the second plurality of memory storage devices when auser selects to receive the digital media data.
 11. The system of claim10 wherein the decryption device is further configured to query thefirst computer to send the plurality of encrypted digital media datasets stored in the first plurality of memory storage devices when theuser selects to receive the digital media data.
 12. The system of claim8 wherein the decryption device is further configured to send thedigital media data to a television operably coupled to the decryptiondevice.
 13. The system of claim 8 wherein at least a portion of theavailable memory in the first plurality of memory storage devicescomprises non-volatile memory.
 14. An article of manufacture,comprising: a computer storage medium having a computer program encodedtherein for storing and securely transmitting digital media data in anetworked system, the computer storage medium including: code fordetermining an amount of memory for storing the digital media data; codefor querying a plurality of network computers to determine an amount ofavailable memory in a plurality of memory storage devices associatedwith the plurality of network computers; code for receiving the digitalmedia data and partitioning the digital media data into a plurality ofdigital media data sets; code for encrypting the plurality of digitalmedia data sets into a plurality of encrypted digital media data setsusing at least one encryption key value; code for storing the pluralityof encrypted digital media data sets in at least two of the plurality ofmemory storage devices associated with the plurality of networkcomputers; code for retrieving the plurality of encrypted digital mediadata sets and transmitting the plurality of encrypted digital media datasets to a decryption device; and, code for decrypting the plurality ofencrypted digital media data sets at the decryption device using the atleast one encryption key value to obtain the digital media data.